home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 16
/
Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso
/
Aminet
/
misc
/
emu
/
QDOS2.lha
/
QLsource
/
ROMsrc
/
SYS
/
PROCS8_asm
< prev
next >
Wrap
Text File
|
1995-08-27
|
2KB
|
85 lines
*/beginfile PROCS8_asm
; --------------------------------------------------------------
; PROCS8_asm - BASIC bits
; - last modified 27/08/95
; QDOS-Amiga sources by Rainer Kowallik
; ...some changes by Mark J Swift
; --------------------------------------------------------------
; Get channel ID from BASIC channel #
L065E6:
CHNRTOID:
MOVEQ #1,D1
L065E8 MOVE.L A5,-(A7)
CMPA.L A3,A5
BLS.S L0661C
BCLR #7,1(A6,A3.L)
BEQ.S L0661C
MOVE.L A3,-(A7)
LEA 8(A3),A5
ANDI.B #$0F,$01(A6,A3.L)
JSR L05EC8(PC) ;*/undomodify BSR L05EC8
BNE.S L06642
MOVEQ #3,D0
JSR L05996(PC) ;*/undomodify BSR L05996
BNE.S L06642
MOVEA.L (A7)+,A3
ADDQ.W #8,A3
MOVE.W 0(A6,A1.L),D1
ADDQ.L #2,BV_RIP(A6) ;arith stack
L0661C MOVEA.L (A7)+,A5
L0661E MOVE.L D1,D0
MOVEA.L BV_CHBAS(A6),A0 ;channel name
MULU #$28,D0
ADDA.L D0,A0
CMPA.L BV_CHP(A6),A0 ;channel name running ptr
BGE.S L0663E
MOVE.L 0(A6,A0.L),D0
BLT.S L0663E
MOVEA.L A0,A2
MOVEA.L D0,A0
MOVEQ #0,D0
RTS
L0663E MOVEQ #-6,D0 ; Channel not found
RTS
L06642:
ADDQ.W #8,A7
RTS
; store Channel ID for identification by # as #(D1)
L06646:
STO_CHID:
MOVE.L A0,-(A7)
BSR.S L0661E
BEQ.S L0669E
CMPA.L BV_CHP(A6),A0 ; channel name running ptr
BLT.S L06680
MOVE.L D1,-(A7)
MOVE.L A0,D1
ADDI.L #$28,D1
SUB.L BV_CHP(A6),D1 ; channel name running ptr
;*/undoinsert MOVEQ #$34,D2
JSR L04E7A(PC) ;*/undomodify BSR L04E84
MOVE.L (A7)+,D1
BSR.S L0661E
L06668:
MOVEA.L BV_CHP(A6),A2 ; channel name running ptr
ADDI.L #$28,BV_CHP(A6) ; channel name running ptr
MOVE.L #$FFFFFFFF,0(A6,A2.L)
CMPA.L A0,A2
BLT.S L06668
L06680:
MOVEA.L A0,A2
MOVEQ #$0A,D0
L06684 CLR.L 0(A6,A0.L)
ADDQ.W #4,A0
SUBQ.W #1,D0
BGT.S L06684
MOVEA.L (A7)+,A0
MOVE.L A0,0(A6,A2.L)
MOVE.W #$50,$22(A6,A2.L)
MOVEQ #0,D0
RTS
L0669E MOVEQ #-8,D0 ; already exists error
RTS
; --------------------------------------------------------------
;*/endfile